package com.xb.cloud.merchantapi.product.service;

import java.math.BigDecimal;
import java.util.List;

import com.xb.cloud.gateway.client.RtnInfo;
import com.xb.cloud.product.merchant.service.client.input.bo.ProductSkuInputBo;
import com.xb.cloud.product.merchant.service.client.input.bo.ProductSkuPicInputBo;

public interface ProductPublishApiService {

	public RtnInfo getPublishableProductSummaryBoListByCategoryId(Long categoryId, Long currentMerchantUserId,
			Integer pageNum, Integer pageSize);
	
	
	/**
	 * merchant级别
	 * @param categoryId
	 * @param currentMerchantUserId
	 * @param pageNum
	 * @param pageSize
	 * @return
	 */
	public RtnInfo getPublishableProductSummaryBoListMerchantLevelByCategoryId(Long categoryId,
			Long currentMerchantUserId, Integer pageNum, Integer pageSize) ;
	
	/**
	 * 根据商品id,获取待发布商品的模板数据
	 * 
	 * productType : productId1对应的类型 productId1 : 如果是系列品,此id为虚品id ；
	 * 如果是单品，此id为单品id ; productId2 : 如果是系列品,此id为子品id ； 如果是单品，此id为空 ;
	 * 
	 * @return
	 */
	public RtnInfo getProductTemplateBoByProductId(Byte productType, Long productId1, 
			Long productId2,String seriesAttributeCombProductId);
	
	
	/**
	 * 根据系列品虚品id,获取当前系列品下，该店铺未发布的系列组合的列表 数据
	 */
	public RtnInfo getPublishableProductSerialAttrCombBoByProductId(Long productId,Long endMerchantUserId);
	
	
	public RtnInfo createProductSku(Long endMerchantUserId, Long productId1, Long productId2,
			Byte productType,   List<ProductSkuPicInputBo> skuPics, String detailContentJson,
			ProductSkuInputBo skuInput, BigDecimal priceMarket, BigDecimal priceSale,Long stockNum,Long warehouseId,List<Long> groupIdList);
}
